Skip to content

feat: Catalogue tab on the Feed engine — sync feed + search feed - #236

Open
danieltmbr wants to merge 1 commit into
feature/feed-quotes-tabfrom
feature/feed-catalogue-tab
Open

feat: Catalogue tab on the Feed engine — sync feed + search feed#236
danieltmbr wants to merge 1 commit into
feature/feed-quotes-tabfrom
feature/feed-catalogue-tab

Conversation

@danieltmbr

Copy link
Copy Markdown
Owner

Summary

Stack 4/4 (on #235). Completes the Feed migration — this tree matches the reference branch (#229's successor work) apart from files main is already ahead on.

  • Two feeds, one tab: browse refresh runs the SyncGroup through an input-less .catalogue feed (status line, pull-to-refresh, empty view + retry all ride FeedState); search + paging rides .catalogueSearch with a typed CatalogueSearchQuery — term, category types, and languages all reach the server now
  • Pull-to-refresh restarts page 1 of the current session (sync for browse, the active search otherwise); no view debounce
  • The flash-fix choreography collapses to one task keyed on the search query + one revision observer for load-more upserts (comment explains the loop it avoids)
  • Two feeds share the subtree → the list scopes components explicitly via .feedControls; row-driven paging deliberately not applied (engine results aren't createdAt-ordered)
  • CatalogueModel slims to the category filter; old refresh action/env keys/status/empty views retire

Verification

🤖 Generated with Claude Code

The catalogue hosts two feeds: browse refresh runs the SyncGroup through an
input-less .catalogue feed (status line, pull-to-refresh, empty view + retry
all ride FeedState), and search+paging rides the .catalogueSearch feed with
its typed CatalogueSearchQuery (term + category types + languages, all sent
to the server).

- Pull-to-refresh restarts page 1 of the current session — sync for browse,
  the active search otherwise; fetches fire immediately (model supersedes)
- The flash-fix choreography collapses to one task keyed on the search query
  (filter changes restart it) plus one revision observer for load-more upserts
- Two feeds share the subtree, so the list scopes its components explicitly
  via .feedControls; row-driven paging deliberately not applied — engine
  results aren't createdAt-ordered
- CatalogueModel slims to the category filter; the old refresh action, env
  keys, and status/empty views retire

Completes the Feed migration — tree now matches the reference branch.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant